Inter-language Collaboration in an Object-oriented Virtual Machine
نویسنده
چکیده
Multi-language virtual machines have a number of advantages. They allow software developers to use software libraries that were written for different programming languages. Furthermore, language implementors do not have to bother with low-level VM functionality and their implementation can benefit from optimizations in existing virtual machines. MagLev is an implementation of the Ruby programming language on top of the GemStone/S virtual machine for the Smalltalk programming language. In this work, we present how software components written in both languages can interact. We show how MagLev unifies the Smalltalk and the Ruby object model, taking into account Smalltalk meta classes, Ruby singleton classes, and Ruby modules. Besides, we show how we can call Ruby methods from Smalltalk and vice versa. We also present MagLev’s concept of bridge methods for implementing Ruby method calling conventions. Finally, we compare our solution to other language implementations and virtual machines.
منابع مشابه
Implementing functional languages on object-oriented virtual machines
Hosting functional languages in object-oriented environments, such as the Java Virtual Machine and Microsoft’s Common Language Infrastructure, so that they inter-operate well with other languages presents a number of problems. In this paper we introduce Mondrian, a functional language specifically designed for such environments, and describe the decisions and trade-offs in its design.
متن کاملNUTS: a Distributed Object-oriented Platform with High Level Communication Functions
An extensible object-oriented platform NUTS for distributed computing is described which is based on an object-oriented programming environment NUT, is built on top of the Parallel Virtual Machine (PVM), and hides all low-level features of the latter. The language of NUTS is a concurrent object-oriented programming language with coarsegrained parallelism and distributed shared memory communicat...
متن کاملTowards Efficient Virtual Machine Support for Flexible, Dynamic Deployment of Inter-type Declarations
Dynamic deployment is an important feature of an aspect-oriented language design that has many software engineering benefits, e.g. in runtime monitoring, runtime adaptation to fix bugs or add features to long running applications, runtime update of dynamic policy changes, etc. Many recently proposed language designs support these use cases. In previous work, researchers have demonstrated that t...
متن کاملA Reference Architecture for Automation of Inter-Organizational Process-Oriented Collaboration
In today’s competitive, dynamic, and changing business environment, being able to collaborate globally within and beyond the enterprise borders is critical. Inter-Organizational Collaborations (IOCs) have been proposed as a response to the characteristics of highly competitive global business environments. So far, a number of reference models, frameworks, and ad hoc architectures related to som...
متن کاملA Versioning Approach to VM Live Migration
In the context of virtual machines live migration, two strategies called “pre-copy” and “post-copy” have already been presented; but each of these strategies works well only in some circumstances. In this paper, we have a brief presentation of QAVNS and then introduce a new approach which is based on the concept of "informational object", assigning QAVNS-scheme-revision number, and observing th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1606.03644 شماره
صفحات -
تاریخ انتشار 2016